-- I2S 配置参数
i2s_id = 0 -- 使用 I2S0
sample_rate = 16000 -- 采样率 (16kHz)
bit_depth = 16 -- 位深 (16位)

-- 初始化 I2S 接收 (从 INMP441 读取数据)
i2s.setup(i2s_id, {
    mode = i2s.MODE_MASTER_RX, -- 主机模式接收
    sample_rate = sample_rate,
    bits = bit_depth,
    bck = 6,    -- BCK
    ws = 7,     -- WS
    data_in = 9 -- 数据输入 (SD)
})

-- 初始化 I2S 发送 (将数据发送到 MAX98357)
i2s.setup(i2s_id, {
    mode = i2s.MODE_MASTER_TX, -- 主机模式发送
    sample_rate = sample_rate,
    bits = bit_depth,
    bck = 6,    -- BCK
    ws = 7,     -- WS
    data_out = 8 -- 数据输出 (DIN)
})


-- 分配缓冲区
buffer_size = 1024
audio_buffer = zbuff.create(buffer_size)


-- 执行任务
sys.taskInit(function ()
  print('hello luatos')

  while true do
    -- 从麦克风读取音频数据
    local bytes_read = i2s.read(i2s_id, audio_buffer)
    if bytes_read > 0 then
      -- 将音频数据发送到 MAX98357
      i2s.write(i2s_id, audio_buffer)
    end
  end

end)
